package br.com.equipe1.dao;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;

import br.com.equipe1.modelo.Empresa;

public class EmpresaDAO implements CrudDAO<Empresa> {

	@Override
	public void inserir(Empresa empresa) throws SQLException {
		String sql = "INSERT INTO (RAT_CODIGO, REP_CODIGO, ENDE_CODIGO, EMP_NOME, EMP_CNPJ) VALUES (?, ?, ?, ?, ?)";
		Connection conn = null;
		PreparedStatement pstm = null;
		int ramoAtuacaoCodigo = new RamoAtuacaoDAO().inserir(empresa.getRamoAtuacao());
		int representanteCodigo = new RepresentanteDAO().inserirCodigoEmpresa(empresa.getRepresentante());
		int enderecoCodigo = new EnderecoEmpresaDAO().inserir(empresa.getEndereco());
		
		try {
			conn = Conexao.criarConexao();
			pstm = conn.prepareStatement(sql);
			pstm.setInt(1, ramoAtuacaoCodigo);
			pstm.setInt(2, representanteCodigo);
			pstm.setInt(3, enderecoCodigo);
			pstm.setString(4, empresa.getNome());
			pstm.setString(5, empresa.getCnpj());
			pstm.execute();
		} catch (Exception e) {
			conn.rollback();
		} finally {
			try {
				if(pstm != null){
					pstm.close();
				} 
				if(conn != null){
					conn.close();
				}
			} catch (Exception e) {
				e.printStackTrace();
			}
		}
	}

	@Override
	public void deletar(Empresa t) throws SQLException {		
		
	}

	@Override
	public void atualizar(Empresa t) throws SQLException {		
		
	}

}
